#ifndef __CHESS_H__
#define __CHESS_H__

#include "../coord/Coord.hpp"

/**
 * @brief 棋子
 *
 */
class Chess : public Coord {
private:
  /**
   * @brief 棋子类型    1 黑棋      2 白棋
   *
   */
  unsigned int chessType{0};

  unsigned int x{0};
  unsigned int y{0};

public:
  Chess(unsigned int displayPositionX, unsigned int displayPositionY,
        unsigned int chessType)
      : Coord(displayPositionX, displayPositionY), chessType(chessType) {}

  virtual ~Chess() {}

  /**
   * @brief 显示棋子
   *
   */
  virtual void chessDisplay(void) = 0;

  void setX(unsigned int x) { this->x = x; }

  void setY(unsigned int y) { this->y = y; }

  void setChessType(unsigned int chessType) { this->chessType = chessType; }

  unsigned int getX(void) { return x; }

  unsigned int getY(void) { return y; }

  unsigned int getChessType(void) { return chessType; }
};

#endif // __CHESS_H__